//导入学生模块
const { T_user } = require('../models/t_user')
// const { compare } = require('bcrypt'); // 假设你使用bcrypt库来进行密码比较

//注册账号
exports.register = async (req, res) => {
  //          用户名     密码      角色    真实姓名
  const { user_name, password, role, real_name, phone_num } = req.body
  //判断数据的合法性
  if (!user_name || !password || !role || !real_name || !phone_num) {
    return res.send('用户名或密码或角色或电话号码不能为空')
    console.log(user_name);
    console.log(password);
    console.log(role);
  }
  if (password.length < 6) {
    return res.send("密码不能小于6位或大于12位")
  } else if (password.length > 12) {
    return res.send('密码不能小于6位或大于12位')
  }

  //查看数据库里有没有相同的数据
  try {
    const login = await T_user.findOne({ where: { user_name: user_name } })
    //如果用户名存在
    if (login) {
      return res.json({
        'code': 203,
        'msg': '该用户名已存在'
      })
    }

    const phone = await T_user.findOne({ where: { phone_num: phone_num } });
    if (phone) {
      return res.json({
        'code': 203,
        'msg': '该号码已被注册'
      })
    }

    //插入数据库
    const logins = await T_user.create({
      user_name: user_name,
      password: password,
      role: role,
      real_name: real_name,
      phone_num: phone_num
    });

    res.json({
      "code": 200,
      "msg": '注册成功',
    });
  } catch (error) {
    res.json({
      "code": 500,
      "msg": error.message,
    });
  }
};


//登录
exports.login = async (req, res) => {
  const { user_name, password } = req.body;

  try {
    if (!user_name || !password) {
      return res.json({
        "code": 500,
        "msg": "账号或密码不能为空"
      });
    }

    const loginUser = await T_user.findOne({ where: { user_name: user_name } });

    if (!loginUser) {
      return res.json({
        "code": 500,
        "msg": "用户不存在"
      });
    }

    // 对比密码
    if (password != loginUser.password) {
      return res.json({
        "code": 500,
        "msg": "账号或密码不正确"
      });
    }

    // 登录成功，返回用户信息
    res.json({
      'code': 200,
      'msg': "登录成功",
      'data': {
        id: loginUser.id,
        username: `${loginUser.real_name}${loginUser.role}`,
        role: loginUser.role // 假设登录用户表里有一个角色字段
      }
    });

  } catch (error) {
    return res.json({
      "code": 500,
      "msg": error.message
    });
  }
};
